看 rb_iseq_struct 的內容,它好像已經是 compile 過的 iseq 了,可是從 main() 又看不到哪裡呼叫了 parse.c。需要加 breakpoint 跑跑看做實驗...
struct rb_iseq_struct {
VALUE flags; /* 1 */
VALUE wrapper; /* 2 */
struct rb_iseq_constant_body *body; /* 3 */
union { /* 4, 5 words */
struct iseq_compile_data *compile_data; /* used at compile time */
struct {
VALUE obj;
int index;
} loader;
struct {
struct rb_hook_list_struct *local_hooks;
rb_event_flag_t global_trace_events;
} exec;
} aux;
};